package demo3;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {
    public List<List<Integer>> generate(int numRows) {
       List<List<Integer>> list = new ArrayList<>();
        if(numRows <= 0){
            return list;
        }
       List<Integer> list1 = new ArrayList<>();
       list1.add(1);
       list.add(list1);
       for(int i = 1; i < numRows;i++){
           //每一行的开始
           List<Integer> temp = new ArrayList<>();
           temp.add(1);
           //每一行中间
           List<Integer> prerow = list.get(i-1);//当前行的前一行
           for(int j = 1; j < i; j++){
               int val1 = prerow.get(j);
               int val2 = prerow.get(j - 1);
               int value = val1 + val2;
               temp.add(value);
           }
           //每一行末尾
           temp.add(1);
           list.add(temp);
       }
       return list;
    }

    public static void main(String[] args) {
        Test test = new Test();
        Scanner in = new Scanner(System.in);
        System.out.println(test.generate(in.nextInt()));
    }
}
